# -*- coding: utf-8 -*-
# @Time: 2025/11/9 2:20
# @Author: subencai
# @Email: 2080981057@qq.com
# @File: server.py
# @Project: flaskProject
# @Description:




# def create_app():
#     import os
#     from flask import Flask
#     import router
#
#
#
#     app=Flask(__name__)
#     app.config.from_object("config.settings")
#
#     # if "FLASK_ENV" in os.environ:
#     #     app.config.from_envvar("FLASK_ENV")
#     # 蓝图注册
#     router.init_app(app)
#     # 4. 可选：开启调试模式（仅开发环境使用）
#     app.config['DEBUG'] = True  # 如需调试，取消注释此行
#     return app

# 关于 DEBUG 模式的说明
# DEBUG 是 Flask 的开发调试工具，主要作用是：
# 当代码出错时，在浏览器中直接显示错误堆栈（告诉你哪行代码错了）；
# 代码修改后自动重启服务（无需手动停启）；
# 显示路由映射、配置等调试信息。
# 它仅用于开发阶段，生产环境必须关闭（否则会暴露代码细节，存在安全风险）。

# server.py
import os
from flask import Flask
from flask_sqlalchemy import SQLAlchemy  # 导入 SQLAlchemy

# 初始化数据库实例
db = SQLAlchemy()


def create_app():
    app = Flask(__name__, template_folder='templates')
    app.config.from_object('config.settings')

    # 初始化数据库（关联 app）
    db.init_app(app)

    # 注册蓝图
    from router import init_app
    init_app(app)

    # 创建数据库表（首次运行时需要）
    with app.app_context():
        db.create_all()  # 自动创建所有模型对应的表

    return app